import Vue from "vue";
import Vuex from "vuex";
import app from "./modules/app";
import user from "./modules/user";
import tagsView from "./modules/tagsView";
import permission from "./modules/permission";
import settings from "./modules/settings";
import getters from "./getters";
import chat from "./modules/chat.js";
import budget from "./modules/budget";
import persistedstate from "vuex-persistedstate";
import tencentCall from "./modules/tencentCall";

Vue.use(Vuex);

const store = new Vuex.Store({
  modules: {
    app,
    user,
    tagsView,
    permission,
    settings,
    chat,
    budget,
    tencentCall
  },
  getters,
  plugins: [
    persistedstate({
      paths: ["user.budgetService", "user.budgetRole"]
      // 需要持久化的模块名:针对 整个模块持久化
      // 需要持久化的模块名.模块内的字段名：模块内某个数据持久化
    })
  ]
});

export default store;
